/*
 * Copyright (c) 1990 The Regents of the University of California.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms are permitted
 * provided that the above copyright notice and this paragraph are
 * duplicated in all such forms and that any documentation,
 * advertising materials, and other materials related to such
 * distribution and use acknowledge that the software was developed
 * by the University of California, Berkeley.  The name of the
 * University may not be used to endorse or promote products derived
 * from this software without specific prior written permission.
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 *
 *	%W% (Berkeley) %G%
 */

/*
 * Floating point scanf/printf (input/output) definitions.
 */

/* 11-bit exponent (VAX G floating point) is 308 decimal digits */
#define	MAXEXP		308
/* 128 bit fraction takes up 39 decimal digits; max reasonable precision */
#define	MAXFRACT	39

typedef union	/* DOUBLE */
    {
    double ddat;
#ifdef __BIG_ENDIAN__
    struct
        {
        long l1;
        long l2;
        } ldat;
#else	/*	__LITTLE_ENDIAN__	*/
    struct
        {
        long l2;
        long l1;
        } ldat;
#endif
    } DOUBLE;
    
    
#define LOCAL static
#define BOOL unsigned int
#define TRUE 1
#define FALSE 0
#define FAST register
#define EOF (-1)
#define EOS '\0'
#define FOREVER for(;;)
#define OK 0
#define ERROR (-1)
#define CHAR_FROM_CONST(x) (char *)(x)



typedef int STATUS;
typedef unsigned int UINT;
typedef int (*FUNCPTR)();
typedef unsigned char uchar_t;
typedef unsigned int uint_t;
typedef unsigned short ushort_t;
typedef unsigned long ulong_t;

int fioformatstr(FAST const char *fmt,va_list	vaList,FUNCPTR	outRoutine,int outarg);
int fioscans(const char *fmt,FUNCPTR getRtn,int getArg,int* pUnget,va_list vaList);


